Oracle®数据库

客户端安装指南

适用于Linux7 12c2(12.2)

 

1      Oracle数据库客户端安装清单

 

1.1     LinuxOracle数据库客户端的操作系统清单

 

Oracle Database Client的最低操作系统要求。

-          具有Redhat兼容内核的Oracle Linux 7:3.10.0-123.el7.x86_64或更高版本

-          Redhat Linux 7:3.10.0-123.el7.x86_64或更高版本

1.2     Oracle数据库客户端的服务器配置清单

1.2.1     分配给/tmp目录的磁盘空间:

> 400MB

1.2.2     相对于RAM的交换空间分配:

256 MB:RAM大小的3

介于256 MB512 MB之间:RAM大小的2

512 MB2 GB之间:RAM大小的1.5

2 GB16 GB之间:等于RAM的大小

超过16 GB:16 GB

1.2.3     Oracle安装备份存储路径(oraInventory)OINSTALL组要求 

对于升级,Oracle Universal Installer(OUI)/etc/oraInst.loc  文件中检测现有的oraInventory目录,并使用现有的oraInventory

对于新安装,如果尚未配置oraInventory目录,则安装程序会创建一个Oracle清单,该目录是从Oracle基础到Oracle Grid Infrastructure安装的一个目录级别,并将安装所有者的主要组指定为Oracle清单组。

OINSTALL组必须是服务器上所有Oracle软件安装所有者的主要组。任何Oracle安装所有者都应该具有写权限。

1.3用于Oracle数据库安装的Oracle用户环境配置清单

1.3.1 查看Oracle安装备份存储路径(oraInventory)OINSTALL组要求

指定为Oracle Inventory目录的物理组是系统上安装的Oracle软件的中央目录。它应该是所有Oracle软件安装所有者的主要组。以Oracle清单组为主要组的用户被授予OINSTALL权限,以读写中央清单。

如果已安装,则OUI会从/etc/oraInst.loc文件中检测到现有的oraInventory目录,并使用此位置。

如果是首次安装Oracle软件,则OUI会创建Oracle基本清单和中央清单,并使用以下优先级的信息来创建Oracle清单:

ORACLE_BASE环境变量中为安装所有者用户帐户设置的路径中。

在用户主目录中的路径/app/owner中,其中owner是运行安装的用户帐户的名称。 确保指定为OINSTALL组的组可用作所有计划的Oracle软件安装所有者的主要组。

1.3.2 为标准或角色分配的系统权限创建操作系统组和用户

如本安装指南所述,根据的安全要求创建操作系统组和用户。

Oracle软件安装所有者设置资源限制设置和其他要求。

组名和用户名只能使用ASCII字符。

1.3.3 重置Oracle软件环境变量

如果的系统上已有安装,并且使用相同的用户帐户来安装此安装,请取消设置ORACLE_HOMEORACLE_BASEORACLE_SIDTNS_ADMIN环境变量以及为连接的Oracle安装用户设置的任何其他环境变量Oracle软件主页。

1.3.4 配置Oracle软件所有者环境

通过执行以下任务来配置oracle或网格用户的环境:

shell启动文件中将默认文件模式创建掩码(umask)设置为022

设置DISPLAY环境变量。

2      检查和配置Oracle数据库客户端的服务器硬件

2.1         使用X Window系统登录远程系统

使用此过程通过登录到运行时设置禁止直接登录图形用户界面(GUI)的远程系统来运行Oracle Universal Installer(OUI)

OUI是图形用户界面(GUI)应用程序。在运行时设置阻止GUI应用程序运行的服务器上,可以将GUI显示重定向到连接到服务器的客户端系统。

注意:如果以其他用户(例如oraclegrid)的身份登录,则也对该用户重复此过程。

启动X Window系统会话。如果从PC或类似系统上使用X Window系统终端仿真器,则可能需要配置安全设置,以允许远程主机在本地系统上显示X应用程序。

使用以下语法输入命令,以使远程主机能够在本地X服务器上显示X应用程序:

xhost + RemoteHost

RemoteHost是标准的远程主机名。例如:

xhost + somehost.example.com

somehost.example.com被添加到访问控制列表中

如果不在本地系统上安装软件,请使用ssh命令连接到要在其上安装软件的系统:

ssh -Y RemoteHost

RemoteHost是标准的远程主机名。-Y标志(“是”)使远程X11客户端可以完全访问原始X11显示器。例如:

ssh -Y somehost.example.com

如果没有以root用户身份登录,并且正在执行需要root用户权限的配置步骤,请将该用户切换为root用户。

注意:有关使用X Window System进行远程登录的更多信息,请参考X服务器文档,或与X服务器供应商或系统管理员联系。根据使用的X服务器软件,可能必须以不同的顺序完成任务。

2.2检查服务器硬件和内存配置

使用此过程来收集有关服务器配置的信息。

使用以下命令确定服务器上的物理RAM大小:

grep MemTotal /proc/meminfo

如果系统中安装的物理RAM的大小小于所需的大小,则必须安装更多的内存才能继续。

确定配置的交换空间的大小:

grep SwapTotal /proc/meminfo

确定/tmp目录中的可用空间量:

df –h /tmp

如果/tmp目录中的可用空间小于所需空间,请完成以下步骤之一:

/tmp目录中删除不需要的文件,以满足磁盘空间要求。

设置Oracle用户的环境时,还要将TMPTMPDIR环境变量设置为要使用的目录,而不是/tmp

确定系统上的可用RAM和磁盘交换空间量:

free -m

确定系统体系结构是否可以运行软件:

uname -m

验证共享内存(/dev/shm)的安装大小是否正确:

df –h /dev/shm

df-h命令显示安装/dev/shm的文件系统,并以GB为单位显示共享内存的总大小和可用大小。

3      Linux上为Oracle Database Client配置操作系统

3.1     x86-64 Linux平台的操作系统要求

x86-64上的此发行版支持本节中列出的Linux发行版和软件包。

确定Linux发行版的要求,并确保在开始安装之前已安装了受支持的内核和必需的软件包。

注意:

Oracle Universal Installer需要一个X Window系统(例如libx)libx软件包是默认Linux安装的一部分。如果在软件包减少的系统上执行安装,则必须确保安装了libx或类似的X Window System软件包。   

Oracle Database 12c2(12.2)和更高版本在用于Oracle数据库或Oracle Grid Infrastructure安装的Oracle LinuxRedhat Enterprise Linux上不需要编译器软件包gccgcc-c ++

3.2         x86-64支持的Oracle Linux 7发行版

支持的发行版:

具有Unbreakable Enterprise Kernel 3:3.8.13-35.3.1.el7uek.x86_64或更高版本的Oracle Linux 7

具有Unbreakable Enterprise Kernel 4Oracle Linux 7.2:4.1.12-32.2.3.el7uek.x86_64或更高版本

具有Redhat兼容内核的Oracle Linux 7:3.10.0-123.el7.x86_64或更高版本

·          bc

·          binutils-2.23.52.0.1-12.el7(x86_64)

·          compat-libcap1-1.10-3.el7(x86_64)

·          compat-libstdc ++-33-3.2.3-71.el7(i686)

·          compat-libstdc ++-33-3.2.3-71.el7(x86_64)

·          glibc-2.17-36.el7(i686)

·          glibc-2.17-36.el7(x86_64)

·          glibc-devel-2.17-36.el7(i686)

·          glibc-devel-2.17-36.el7(x86_64)

·          sh

·          libaio-0.3.109-9.el7(i686)

·          libaio-0.3.109-9.el7(x86_64)

·          libaio-devel-0.3.109-9.el7(i686)

·          libaio-devel-0.3.109-9.el7(x86_64)

·          libX11-1.6.0-2.1.el7(i686)

·          libX11-1.6.0-2.1.el7(x86_64)

·          libXau-1.0.8-2.1.el7(i686)

·          libXau-1.0.8-2.1.el7(x86_64)

·          libXi-1.7.2-1.el7(i686)

·          libXi-1.7.2-1.el7(x86_64)

·          libXtst-1.2.2-1.el7(i686)

·          libXtst-1.2.2-1.el7(x86_64)

·          libXrender(i686)

·          libXrender(x86_64)

·          libXrender-devel(i686)

·          libXrender-devel(x86_64)

·          libgcc-4.8.2-3.el7(i686)

·          libgcc-4.8.2-3.el7(x86_64)

·          libstdc ++-4.8.2-3.el7(i686)

·          libstdc ++-4.8.2-3.el7(x86_64)

·          libstdc ++-devel-4.8.2-3.el7(i686)

·          libstdc ++-devel-4.8.2-3.el7(x86_64)

·          libxcb-1.9-5.el7(i686)

·          libxcb-1.9-5.el7(x86_64)

·          make-3.82-19.el7(x86_64)

·          nfs-utils-1.3.0-0.21.el7.x86_64(对于Oracle ACFS)

·          net-tools-2.0-0.17.20131004git.el7(x86_64)(对于Oracle RACOracle Clusterware)

·          smartmontools-6.2-4.el7(x86_64)

·          sysstat-10.1.5-1.el7(x86_64)

3.3    x86-64支持的Redhat Enterprise Linux 7发行版

·          公元前

·          binutils-2.23.52.0.1-12.el7(x86_64)

·          compat-libcap1-1.10-3.el7(x86_64)

·          compat-libstdc ++-33-3.2.3-71.el7(i686)

·          compat-libstdc ++-33-3.2.3-71.el7(x86_64)

·          glibc-2.17-36.el7(i686)

·          glibc-2.17-36.el7(x86_64)

·          glibc-devel-2.17-36.el7(i686)

·          glibc-devel-2.17-36.el7(x86_64)

·          sh

·          libaio-0.3.109-9.el7(i686)

·          libaio-0.3.109-9.el7(x86_64)

·          libaio-devel-0.3.109-9.el7(i686)

·          libaio-devel-0.3.109-9.el7(x86_64)

·          libgcc-4.8.2-3.el7(i686)

·          libgcc-4.8.2-3.el7(x86_64)

·          libstdc ++-4.8.2-3.el7(i686)

·          libstdc ++-4.8.2-3.el7(x86_64)

·          libstdc ++-devel-4.8.2-3.el7(i686)

·          libstdc ++-devel-4.8.2-3.el7(x86_64)

·          libxcb-1.9-5.el7(i686)

·          libxcb-1.9-5.el7(x86_64)

·          libX11-1.6.0-2.1.el7(i686)

·          libX11-1.6.0-2.1.el7(x86_64)

·          libXau-1.0.8-2.1.el7(i686)

·          libXau-1.0.8-2.1.el7(x86_64)

·          libXi-1.7.2-1.el7(i686)

·          libXi-1.7.2-1.el7(x86_64)

·          libXtst-1.2.2-1.el7(i686)

·          libXtst-1.2.2-1.el7(x86_64)

·          libXrender(i686)

·          libXrender(x86_64)

·          libXrender-devel(i686)

·          libXrender-devel(x86_64)

·          make-3.82-19.el7(x86_64)

·          net-tools-2.0-0.17.20131004git.el7(x86_64)(对于Oracle RACOracle Clusterware)

·          nfs-utils-1.3.0-0.21.el7.x86_64(对于Oracle ACFS)

·          smartmontools-6.2-4.el7(x86_64)

·          sysstat-10.1.5-1.el7(x86_64)

4      Oracle数据库客户端配置用户,组和环境

在安装之前,请创建操作系统组和用户,并配置用户环境。

4.1     所需的操作系统组和用户

Oracle软件安装需要安装所有者,Oracle Inventory(这是所有Oracle安装所有者的主要组)以及至少一个指定为系统权限组的组。

与系统管理员一起查看组和用户选项。如果具有系统管理权限,请查看本节中的主题并根据需要配置操作系统组和用户。

4.1.1 确定是否存在Oracle安装备份存储路径和Oracle安装备份存储路径组

确定是否已有Oracle中央清单,并确保所有Oracle软件安装都使用相同的Oracle清单。另外,请确保打算用于安装的所有Oracle软件用户均具有写入此目录的权限。

首次在系统上安装Oracle软件时,OUI将创建  oraInst.loc  文件。该文件标识Oracle安装备份存储路径清单组的名称(默认情况下为  oinstall)以及Oracle中央安装备份存储路径目录的路径。如果有现有的Oracle中央清单,请确保对所有Oracle软件安装都使用相同的Oracle清单,并确保要用于安装的所有Oracle软件用户均具有写入此目录的权限。

oraInst.loc  文件包含在下面的格式,其中central_inventory_location是路径到现有的Oracle中央清单,和    是其成员有权限写入到中央安装备份存储路径操作系统组的名称:

stock_loc=central_inventory_location

inst_group=group

使用  more  命令确定系统上是否有Oracle中央清单。例如:

more /etc/oraInst.loc

ventory_loc =/u01/app/ora

inst_group=oinstall

使用命令  grep groupname/etc/group  确认指定为Oracle Inventory组的组在系统上仍然存在。例如:

grep oinstall /etc/group

输出:

oinstall:x:54321:gridoracle

注意: 请勿将oraInventory  目录放置在  Oracle基本目录下进行新安装,因为这可能导致其他安装的用户权限错误。

4.1.2 如果不存在Oracle安装备份存储路径,则创建Oracle安装备份存储路径组

作为计划安装的一部分,尤其是在服务器上安装了多个Oracle软件产品的情况下,手动创建Oracle安装备份存储路径清单组。

默认情况下,如果oraInventory组不存在,则安装程序将要安装的Oracle软件的安装所有者的主要组用作oraInventory组。确保该组可用作所有计划的Oracle软件安装所有者的主要组。

如果  oraInst.loc  文件不存在,则通过输入类似于以下内容的命令来创建Oracle安装备份存储路径组:

/usr/sbin/groupadd -g 54321 oinstall

4.1.3 关于Oracle安装所有者帐户   

根据要用于安装的组和用户管理计划,选择或创建安装的Oracle安装账号。

在以下情况下,必须为安装创建一个软件账号:

如果Oracle软件所有者用户不存在;例如,如果这是系统上首次安装Oracle软件。

如果存在Oracle软件所有者用户,但是想要使用具有不同组成员身份的其他操作系统用户来将Oracle Grid Infrastructure管理权限与Oracle数据库管理权限分开。

Oracle文档中,创建为仅拥有Oracle Grid Infrastructure软件安装的用户称为Grid用户(grid)。该用户同时拥有Oracle ClusterwareOracle ASM二进制文件。创建拥有所有Oracle安装或Oracle数据库安装的用户称为Oracle用户(oracle)。只能有一个Oracle Grid Infrastructure安装所有者,但是可以有不同的Oracle用户来拥有不同的安装。

Oracle软件所有者必须将Oracle Inventory组作为其主要组,以便每个Oracle软件安装所有者可以写入中央目录(oraInventory),并正确设置OCROracle Clusterware资源权限。数据库软件所有者还必须具有OSDBA组,并且(如果创建了它们)OSOPEROSBACKUPDBAOSDGDBAOSRACDBAOSKMDBA组作为辅助组。

4.1.4 识别Oracle软件所有者用户帐户

首次在系统上安装Oracle软件时,必须至少创建一个软件所有者用户帐户。使用现有的Oracle软件用户帐户,或为安装创建Oracle软件所有者用户帐户。

要使用现有的用户帐户,请从系统管理员处获取现有Oracle安装所有者的名称。确认现有所有者是Oracle安装备份存储路径管理组的成员。

例如,如果知道Oracle Inventory组的名称为oinstall,则应将Oracle软件所有者列为oinstall的成员。 

grep "oinstall" /etc/group

oinstall:x:54321:oracle

然后,可以使用ID命令来验证打算使用的Oracle安装所有者是否将Oracle Inventory组作为其主要组。例如:

id oracle

uid=54321(oracle) gid=54321(oinstall) group=54321(oper),54322(dba)

 

创建操作系统组后,根据操作系统身份验证计划创建或修改Oracle用户帐户。

4.2     创建操作系统Oracle安装用户帐户

4.2.1 创建Oracle软件所有者用户

如果Oracle软件所有者用户(oracle)不存在,或者需要一个新的Oracle软件所有者用户,则按照本节中的说明创建它。

下面的示例演示如何创建用户ID54321 的用户  oracle,隶属于主要组oinstall 和附属组dba

/usr/sbin/useradd -u 54321 -g oinstall -G dba,oracle

必须记下安装用户的用户ID号,因为在预安装期间需要它。

对于Oracle Grid Infrastructure安装,所有候选节点上的用户ID和组ID必须相同。

4.2.2 Oracle软件所有者的环境要求

必须进行以下更改才能配置Oracle软件所有者环境:

shell启动文件中将安装软件所有者用户(gridoracle)的默认文件模式创建掩码(umask)设置为022。将掩码设置为022可确保执行软件安装的用户创建具有644权限的文件。

为安装软件所有者(gridoracle)的文件描述符和进程设置ulimit设置。

设置DISPLAY环境变量,以准备运行Oracle Universal Installer(OUI)安装。

警告:如果已经安装了现有的Oracle安装,并且使用的用户ID是的Oracle Grid Infrastructure软件所有者,那么请取消设置该用户的所有Oracle环境变量设置。

4.2.3 配置Oracle软件所有者环境的过程

配置每个Oracle安装所有者用户帐户环境:

在运行安装的服务器上启动X终端会话(xterm)

输入以下命令以确保X Window应用程序可以在此系统上显示,其中hostname是要从中访问服务器的本地主机的标准名称:

$ xhost + hostname

如果没有以软件所有者用户身份登录,请切换到要配置的软件所有者用户。例如,对于用户网格:

$ su - grid

在无法运行su命令的系统上,请改用sudo:

$ sudo -u grid -s

要确定用户的默认shell程序,请输入以下命令:

$ echo $ SHELL

在任何文本编辑器中打开用户的Shell启动文件:

$ vi .bash_profile

 输入或编辑以下行,为默认文件模式创建掩码指定值022:

umask 022

如果在文件中设置了ORACLE_SIDORACLE_HOMEORACLE_BASE环境变量,则从文件中删除这些行。

保存文件,然后退出文本编辑器。

要运行shell启动脚本,请输入以下命令之一:

. ./.bash_profile

使用以下命令检查PATH环境变量:

echo $PATH

删除所有Oracle环境变量。

验证umask命令显示的值为220220022,并且在本节中设置的环境变量具有正确的值。

4.2.4 取消设置Oracle安装环境变量

开始安装之前,请取消设置Oracle安装所有者环境变量。

如果为运行安装所使用的Oracle安装所有者帐户设置的环境变量设置为与安装所需值冲突的值,则可能导致问题。

如果的系统上已有安装,并且使用相同的用户帐户来安装此安装,请取消设置以下环境变量:ORA_CRS_HOMEORACLE_HOMEORA_NLS10TNS_ADMIN以及为Oracle安装用户设置的任何其他环境变量与Oracle软件主页相连。

另外,确保$ORACLE_HOME/bin PATH环境变量中删除该路径。